Classful routing protocols do not carry subnet mask
information across different major networks. A classful router
always assumes that the same subnet mask is used everywhere for the
same major network. For example, if we are using the major network
address of 10.0.0.0 with a subnet mask of 255.255.255.0 it is always
assumed that the network 10.0.0.0 will always carry the mask of
255.255.255.0.
A Class C address has a default mask of 255.255.255.0; a
classful routing protocol will always assume this mask is used for
the same major network address when the update is received from
another major network address.
A classful routing protocol does not communicate a subnet
mask other than the default mask for that class of address, hence
the name classful. A classless routing protocol will communicate the
subnet mask. Chapter 8 will discuss this in greater
detail.
There are two important rules to follow when using a classful
routing protocol:
1.
The network must be addressed in a contiguous
manner.
2.
Use the same mask for the same major network.
The word contiguous implies that the same major network
address is carried continuously across the topology; refer to Figure
6.1. The address of 10.0.0.0 and the mask of 255.255.255.0 is used
for every network.
Figure 6.1 Contiguous Addressing
As shown in Figure 6.2 Router_A learns of the 10.0.4.0
subnet.
Codes: C - connected, S - static, I -
IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O -
OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2
- OSPF NSSA external type 2
E1 - OSPF external type 1, E2 -
OSPF external type 2, E - EGP
Router_A does receive updates relating to network 10.0.0.0,
but not to network 10.0.4.0. Router_A will send all packets with a
destination address of 10.0.0.0 out of the Ethernet
interface.
Subnets are not
carried across different major networks.
These updates are ignored because the metric is higher than
the directly connected network of 10.0.0.0.
Figures 6.7 and 6.8 show that Router_A receives an update
relating to network 10.0.0.0 but assumes the default mask and
discards the update as not being the best way to get to the
destination.
Router_A#debug ip igrp tr
IGRP protocol debugging is on
Router_A#
IGRP: received update from 172.16.1.2
on Serial0/0
network
10.0.0.0, metric 8576 (neighbor 1100)
IGRP: sending update to 255.255.255.255
via Ethernet0/0 (10.0.1.1).
network
172.16.0.0, metric=8476
IGRP: sending update to 255.255.255.255
via Serial0/0 (172.16.1.1)
network 10.0.0.0,
metric=1100
Figure 6.7 IGRP Debug
The composite metric of 8576 is higher than the metric of a
directly connected network. Therefore Router_A will discard the
routing update pertaining to network 10.0.0.0 that is received from
the serial interface.
Router_A#debug ip rip
RIP protocol debugging is on
Router_A#
RIP: received v1 update from 172.16.1.2
on Serial0/0
10.0.0.0 in 1
hops
RIP: sending v1 update to 255.255.255.255
via Ethernet0/0 (10.0.1.1)
network
172.16.0.0, metric 1
RIP: sending v1 update to 255.255.255.255
via Serial0/0 (172.16.1.1)
network 10.0.0.0,
metric 1
Figure 6.8 IP RIP Debug
IP RIP uses hop count as its metric therefore, 1 hop away is
a higher metric than a directly connected network. The RIP update
received from the serial link will be discarded.
With a discontiguous network and a classful routing protocol
the routers do not see a true picture of the network
topology.
Because we have a discontiguous network and a classful
routing protocol Router_A gets a distorted view of the network
topology. This distorted view is represented in Figure 6.9
Figure 6.9 Distorted View of the Network Topology
Figure 6.9 illustrates the view that Router_A has two ways to
get to network 10.0.1.0. Router_A will always send a packet destined
for network 10.0.0.0 to the Ethernet 0 interface.
Now let us examine another discontiguous network, but we will
throw in another router. Keep in mind we have broken the rule of
keeping our addressing scheme contiguous, which means we should see
some problems with the routing tables. Refer to Figure
6.10.
Figure 6.10 Discontiguous Addressing-2
Router_C#sh ip route
Codes: C - connected, S - static, I -
IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O -
OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2
- OSPF NSSA external type 2
E1 - OSPF external type 1, E2 -
OSPF external type 2, E - EGP
I 10.0.0.0/8 [100/8576] via
172.16.1.1, 00:00:09, Serial1
[100/8576] via 172.16.2.1, 00:00:19, Serial0
Figure 6.11 Router_C Routing Table
Referring to the bold lines in Figure 6.11, Router_C “thinks”
it can get to network 10.0.0.0 in two different ways, through Serial
1 or Serial 0.
Router_C has no way to distinguish between the different
subnets of “network 10” because the subnets of a classful routing
protocol are not carried across different major networks.
Since Router_C thinks it has two ways to get to network
10.0.0.0 it will load balance the traffic over the two serial
interfaces. One packet will go out Serial 0, the next will use
Serial 1, then back to Serial 0, etc.
Figure 6.12 represents pings from Router_C to network
10.0.4.1
Router_C#ping 10.0.4.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to
10.0.4.1, timeout is 2 seconds:
U!.!U
Success rate is 40 percent (2/5),
round-trip min/avg/max = 4/4/4 ms
Router_C#ping 10.0.4.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to
10.0.4.1, timeout is 2 seconds:
!U!.!
Success rate is 60 percent (3/5),
round-trip min/avg/max = 4/4/4 ms
Figure 6.12 Pings from Router_C
10.0.4.1 will be located with every other ping probe,
resulting in a 50% average success rate.
Now we will break another rule and NOT use the same subnet
mask with a classful routing protocol.
Figure 6.13 illustrates a mask of 255.255.255.0 for the
serial link and a mask of 255.255.0.0 for the Ethernet
links
Figure 6.13 Different Masks for the Same Major Network
Router_A now has no way of knowing the true topology of this
network. We could speculate on what will happen when Router_A
attempts to route a packet, but what is the point!
The bottom line is that this IP addressing design is wrong
and needs to be changed.
The routing table shows Router_A informing us that network
10.0.0.0 is variably subnetted. This is not a good thing!
Router_A#sh ip route
Codes: C - connected, S - static, I -
IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O -
OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2
- OSPF NSSA external type 2
E1 - OSPF external type 1, E2 -
OSPF external type 2, E - EGP